﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ВидыПлатежейВГосБюджет
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"1fd05b03-6380-4ef1-8f82-711b946c027b\", \"Представление\":\"Налог\"}")]
		Налог = 0,//Налог (взносы): начислено / уплачено
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"e166c764-417e-4d79-8ed6-6cc8c491cdfd\", \"Представление\":\"НалогСам\"}")]
		НалогСам = 1,//Налог (взносы): доначислено / уплачено (самостоятельно)
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"b0f84dd6-f3e5-4e75-a322-332c16d1483c\", \"Представление\":\"НалогАкт\"}")]
		НалогАкт = 2,//Налог (взносы): доначислено / уплачено (по акту проверки)
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"3f4df987-1671-4a30-bcff-438420a4cf9e\", \"Представление\":\"Штраф\"}")]
		Штраф = 3,//Штраф: начислено / уплачено
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"2798cdf4-d922-4fda-8ab7-de849154e0ee\", \"Представление\":\"РасходыПоСтрахованию\"}")]
		РасходыПоСтрахованию = 4,//Расходы по страхованию
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"bff84c63-8c2c-4271-a969-670a51f80a69\", \"Представление\":\"ПениСам\"}")]
		ПениСам = 5,//Пени: доначислено / уплачено (самостоятельно)
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"71e3298e-b295-4c1a-a09e-9cc79ddd3fd4\", \"Представление\":\"ПениАкт\"}")]
		ПениАкт = 6,//Пени: начислено / уплачено (по акту проверки)
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"eac96eb7-f7f9-4237-bf21-c3a5c4135c68\", \"Представление\":\"ПолученоИзФонда\"}")]
		ПолученоИзФонда = 7,//Получено от исполнительного органа ФСС РФ
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"d422aa7f-ff9c-4c5d-8ecc-6d6602282611\", \"Представление\":\"НеПринято\"}")]
		НеПринято = 8,//Не принято к зачету
	}
	public static partial class ВидыПлатежейВГосБюджет_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid Налог = new Guid("1b71828f-6c94-7b02-4ef1-63801fd05b03");//Налог (взносы): начислено / уплачено
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid НалогСам = new Guid("c86cd68e-91c4-fdcd-4d79-417ee166c764");//Налог (взносы): доначислено / уплачено (самостоятельно)
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid НалогАкт = new Guid("2c3322a3-d116-3c48-4e75-f3e5b0f84dd6");//Налог (взносы): доначислено / уплачено (по акту проверки)
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid Штраф = new Guid("8443ffbc-a420-9ecf-4a30-16713f4df987");//Штраф: начислено / уплачено
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid РасходыПоСтрахованию = new Guid("84deb78a-5491-eee0-4fda-d9222798cdf4");//Расходы по страхованию
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПениСам = new Guid("0a6769a9-f851-690a-4271-8c2cbff84c63");//Пени: доначислено / уплачено (самостоятельно)
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПениАкт = new Guid("c79c9ea0-dd9d-d43f-4c1a-b29571e3298e");//Пени: начислено / уплачено (по акту проверки)
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПолученоИзФонда = new Guid("a5c321bf-13c4-685c-4237-f7f9eac96eb7");//Получено от исполнительного органа ФСС РФ
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid НеПринято = new Guid("666dcc8e-2802-1126-4c5d-ff9cd422aa7f");//Не принято к зачету
		public static ВидыПлатежейВГосБюджет Получить(this ВидыПлатежейВГосБюджет Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыПлатежейВГосБюджет Получить(this ВидыПлатежейВГосБюджет Значение, Guid Ссылка)
		{
			if(Ссылка == Налог)
			{
				return ВидыПлатежейВГосБюджет.Налог;
			}
			else if(Ссылка == НалогСам)
			{
				return ВидыПлатежейВГосБюджет.НалогСам;
			}
			else if(Ссылка == НалогАкт)
			{
				return ВидыПлатежейВГосБюджет.НалогАкт;
			}
			else if(Ссылка == Штраф)
			{
				return ВидыПлатежейВГосБюджет.Штраф;
			}
			else if(Ссылка == РасходыПоСтрахованию)
			{
				return ВидыПлатежейВГосБюджет.РасходыПоСтрахованию;
			}
			else if(Ссылка == ПениСам)
			{
				return ВидыПлатежейВГосБюджет.ПениСам;
			}
			else if(Ссылка == ПениАкт)
			{
				return ВидыПлатежейВГосБюджет.ПениАкт;
			}
			else if(Ссылка == ПолученоИзФонда)
			{
				return ВидыПлатежейВГосБюджет.ПолученоИзФонда;
			}
			else if(Ссылка == НеПринято)
			{
				return ВидыПлатежейВГосБюджет.НеПринято;
			}
			return ВидыПлатежейВГосБюджет.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыПлатежейВГосБюджет Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыПлатежейВГосБюджет Значение)
		{
			switch (Значение)
			{
				case ВидыПлатежейВГосБюджет.Налог: return Налог;
				case ВидыПлатежейВГосБюджет.НалогСам: return НалогСам;
				case ВидыПлатежейВГосБюджет.НалогАкт: return НалогАкт;
				case ВидыПлатежейВГосБюджет.Штраф: return Штраф;
				case ВидыПлатежейВГосБюджет.РасходыПоСтрахованию: return РасходыПоСтрахованию;
				case ВидыПлатежейВГосБюджет.ПениСам: return ПениСам;
				case ВидыПлатежейВГосБюджет.ПениАкт: return ПениАкт;
				case ВидыПлатежейВГосБюджет.ПолученоИзФонда: return ПолученоИзФонда;
				case ВидыПлатежейВГосБюджет.НеПринято: return НеПринято;
			}
			return Guid.Empty;
		}
	}
}